This invention relates to an external memory unit for a computer or high-performance computer system, and more particularly to an array disk system employing a large number of small disk drives and a maximum power supply current requirement control, e.g. with respect to power on or head seek.
In current computer systems, the data required by the host side, e.g., by the CPU (central processing unit), is stored in a secondary storage system and the data is written to and read from the secondary storage system as required by the CPU.
The increasing sophistication of information systems in recent years has led to a need for higher performance secondary storage systems. One answer to this need is the array disk system which, as will be clear from the following description, consists of a large number of relatively small capacity magnetic disk drives. The array disk system is used for conducting parallel processing. Specifically, the data transferred from the CPU is subdivided and simultaneously stored in a plurality of magnetic disk drives and, during data read, the subdivided data is simultaneously read from the magnetic disk drives regenerated to obtain the original data from the data read simultaneously from the disk drives and transferred to the CPU at high speed. The magnetic disk drives that carry out this parallel processing are divided into groups as indicated in FIG. 12(a). Each group constitutes a unit within which all member magnetic disk drives operate in the same manner.
The secondary storage system generally uses nonvolatile storage media, typically magnetic disk drives, optical disk drives or the like.
This type of array disk system is discussed, for example, by D. Patterson, G. Gibson and R. H. Kartz in a paper titled A Case for Redundant Arrays of Inexpensive Disks (RAID) read at the ACM SIGMOD Conference, Chicago, Ill., (June 1988). This paper reports on the results of studies into the performance and reliability of both array disk systems which subdivide and process data parallely and array disk systems which independently treat distributed data. The two array disk systems referred to in this paper are considered to be the most common types in use today.
The array disk system which subdivides data and processes the subdivided data parallely will now be explained. The array disk system has a large number of relative small capacity magnetic disk drives. As shown in FIG. 14, the data transferred from the CPU is subdivided and simultaneously stored in parallel in a plurality of data disk drives 7 and a parity disk drive 8 that constitute a parity group 4. During data read, the procedure is reversed, i.e., the subdivided data is simultaneously read in parallel from the disk drives regenerated to obtain the original data from the data read simultaneously from the disk drives and transferred to the CPU. This parallel processing enables the data to be transferred at high speed. For enhancing the reliability of the array disk system, parity data is generated from the subdivided data and stored in the parity disk drive P (8). In this way, when a problem arises making it impossible to read data from one of the magnetic data disk drives D (7) among those in which the subdivided data is stored, the data stored in the disabled magnetic disk drive can be reconstructed from the data stored in the remaining magnetic disk drives 7 and the parity data of disk drive 8. The provision of parity disks is necessary for improving the reliability of a system which, like the array disk system, consists of a large number of magnetic disk drives.
Systems in which a high transfer rate is realized by simultaneously conducting reading and writing with respect to any array of disks are disclosed in Japanese Unexamined Patent Public Disclosure 1(1989)-250158 and Electronic Design, Nov. 12, 1987, p. 45. As shown in FIG. 2, these types of systems define a plurality of disk drives 211–215 as an array. Preferably a rotation synchronize circuit 220 rotation-synchronizes these disk drives with respect to an external reference clock or with respect to one disk drive among the plurality of disks making up the array. A sequencer 240 subdivides the data transferred from the host 210 through an interface 230 into bits, bytes, blocks or some other arbitrary unit, and also generates parity or other such ECC (error checking and correction) data. These data are written to the disk drives 211–214 substantially simultaneously by disk drive control circuits 250. During regeneration, the sequencer 240 reconstructs the original data from data read simultaneously from the disk drives and outputs the regenerated data to the host through the interface 230. The buffer 260 is situated between the control circuits 250 and the sequencer 240 for absorbing rotational discrepancies among the disks. The interface 230, sequencer 240, control circuits 250 and buffers 260 are controlled by a processor 270.
When reading and writing of data are conducted with respect to N+1 disks (+1 indicating the parity disk 215) in this manner, the apparent transfer rate becomes N times the transfer rate of the individual disk drives. Moreover, the provision of a redundant disk (the parity disk 215 in this example) makes it possible to ensure accurate data regeneration even if one disk drive should break down.
Further, as shown in FIG. 3, COMPCON '89 Spring, February 1989, p118 discloses an arrangement in which a plurality of interconnected disk drive arrays 281–284 (which will be referred to as parity groups) are each constituted in the manner of FIG. 2. High-speed transfer is realized by having the disks within the parity groups 281–284 simultaneously conduct read and write operations. When a disk within a group breaks down, the data is reconstructed within the group concerned. This reference further discloses the formation of separate groups 291–295 (which will be referred to as power groups) constituted perpendicular to the parity groups. Each power group constitutes a separate unit as regards the supply of electric power for the disk drives and the cooling fans. This arrangement limits the effect of the breakdown of a single power group to making it impossible to read the data of only one disk in each parity group. As a result, the aforesaid data error checking and restoration capability remains intact and the data can be regenerated.